home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / newstart / newst1.frm < prev    next >
Text File  |  1995-09-06  |  14KB  |  626 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    BackColor       =   &H00FFFF00&
  4.    Caption         =   "NewStart Version 1.04"
  5.    ClientHeight    =   4560
  6.    ClientLeft      =   1080
  7.    ClientTop       =   1590
  8.    ClientWidth     =   7635
  9.    ForeColor       =   &H00FFFF00&
  10.    Height          =   5250
  11.    Icon            =   NEWST1.FRX:0000
  12.    Left            =   1020
  13.    LinkMode        =   1  'Source
  14.    LinkTopic       =   "Form1"
  15.    ScaleHeight     =   4560
  16.    ScaleWidth      =   7635
  17.    Top             =   960
  18.    Width           =   7755
  19.    Begin PictureBox Picture1 
  20.       BackColor       =   &H00FFFF00&
  21.       BorderStyle     =   0  'None
  22.       Height          =   615
  23.       Left            =   1800
  24.       Picture         =   NEWST1.FRX:0302
  25.       ScaleHeight     =   615
  26.       ScaleWidth      =   1095
  27.       TabIndex        =   3
  28.       Top             =   3480
  29.       Width           =   1095
  30.    End
  31.    Begin OptionButton Option2 
  32.       BackColor       =   &H00FFFF00&
  33.       Caption         =   "View"
  34.       ForeColor       =   &H00000000&
  35.       Height          =   255
  36.       Left            =   5520
  37.       TabIndex        =   6
  38.       Top             =   3240
  39.       Width           =   975
  40.    End
  41.    Begin OptionButton Option1 
  42.       BackColor       =   &H00FFFF00&
  43.       Caption         =   "Change"
  44.       ForeColor       =   &H00000000&
  45.       Height          =   255
  46.       Left            =   5520
  47.       TabIndex        =   5
  48.       Top             =   2760
  49.       Value           =   -1  'True
  50.       Width           =   975
  51.    End
  52.    Begin CommandButton microsoft_button 
  53.       Caption         =   "&Restore Microsoft Logo"
  54.       Height          =   615
  55.       Left            =   4800
  56.       TabIndex        =   10
  57.       Top             =   1800
  58.       Width           =   2295
  59.    End
  60.    Begin CommandButton exit_button 
  61.       Caption         =   "E&xit"
  62.       Height          =   735
  63.       Left            =   6240
  64.       TabIndex        =   9
  65.       Top             =   960
  66.       Width           =   855
  67.    End
  68.    Begin CommandButton Kill_button 
  69.       Caption         =   "&Delete"
  70.       Height          =   735
  71.       Left            =   4800
  72.       TabIndex        =   8
  73.       Top             =   960
  74.       Width           =   855
  75.    End
  76.    Begin DirListBox Dir1 
  77.       BackColor       =   &H00FF0000&
  78.       ForeColor       =   &H00FFFFFF&
  79.       Height          =   2415
  80.       Left            =   120
  81.       TabIndex        =   1
  82.       Top             =   480
  83.       Width           =   2415
  84.    End
  85.    Begin CommandButton execute_button 
  86.       Caption         =   "&Execute"
  87.       Default         =   -1  'True
  88.       Height          =   495
  89.       Left            =   4800
  90.       TabIndex        =   7
  91.       Top             =   360
  92.       Width           =   2295
  93.    End
  94.    Begin FileListBox File1 
  95.       BackColor       =   &H0000FF00&
  96.       ForeColor       =   &H00000000&
  97.       Height          =   2760
  98.       Left            =   2520
  99.       Pattern         =   "*.rle"
  100.       TabIndex        =   0
  101.       Top             =   120
  102.       Width           =   1695
  103.    End
  104.    Begin DriveListBox Drive1 
  105.       BackColor       =   &H0000FFFF&
  106.       ForeColor       =   &H00000000&
  107.       Height          =   315
  108.       Left            =   120
  109.       TabIndex        =   2
  110.       Top             =   120
  111.       Width           =   2415
  112.    End
  113.    Begin Label Label3 
  114.       BackColor       =   &H00FFFF00&
  115.       Caption         =   "NewStart Version 1.04"
  116.       FontBold        =   -1  'True
  117.       FontItalic      =   -1  'True
  118.       FontName        =   "MS Serif"
  119.       FontSize        =   18
  120.       FontStrikethru  =   0   'False
  121.       FontUnderline   =   0   'False
  122.       ForeColor       =   &H00000000&
  123.       Height          =   375
  124.       Left            =   120
  125.       TabIndex        =   4
  126.       Top             =   3000
  127.       Width           =   5055
  128.    End
  129.    Begin Menu AboutName 
  130.       Caption         =   "&About"
  131.    End
  132.    Begin Menu HelpName 
  133.       Caption         =   "&Help"
  134.       Begin Menu me_help 
  135.          Caption         =   "&Index"
  136.          Index           =   1
  137.       End
  138.       Begin Menu me_help 
  139.          Caption         =   "&Using Help"
  140.          Index           =   2
  141.       End
  142.    End
  143. End
  144. Const FILEBOXCLICK = 0, DIRSBOXCLICK = 1
  145. Dim Lastchange As Integer
  146.  
  147.  
  148.  
  149.  
  150. Sub AboutName_Click ()
  151.   AboutBox.Show modal
  152. End Sub
  153.  
  154. Sub Dir1_Change ()
  155.  On Error GoTo path_errors
  156.  file1.path = dir1.path
  157.  file1.SetFocus
  158.  If file1.ListCount Then
  159.   file1.ListIndex = 0
  160.   End If
  161. Exit Sub
  162. path_errors:
  163. msg$ = "Error " + Str$(Err) + " " + Error$
  164. MsgBox msg$ ' Display error message.
  165. Exit Sub
  166. End Sub
  167.  
  168.  
  169. Sub Dir1_Click ()
  170.   Lastchange = DIRSBOXCLICK
  171. End Sub
  172.  
  173. Sub Drive1_Change ()
  174. On Error GoTo Drive_errors
  175. dir1.path = drive1.Drive
  176. Exit Sub
  177. Drive_errors:   ' Error handler line label.
  178. msg$ = "Error " + Str$(Err) + " " + Error$
  179.     MsgBox msg$ ' Display error message.
  180.     Exit Sub
  181.     End Sub
  182.  
  183. Sub execute_button_click ()
  184. On Error GoTo EXE_Errors
  185.  
  186.  device_type = 0
  187.  windir$ = String$(255, " ")
  188.  sysdir$ = String$(255, " ")
  189.  
  190.  worked% = GetWindowsDirectory(windir$, Len(windir$))
  191.  
  192.  worked% = GetSystemDirectory(sysdir$, Len(sysdir$))
  193.  
  194.  
  195.  worked% = GetDeviceCaps(hDC, VERTRES)
  196.    Select Case worked%
  197.    Case Is >= 480
  198.    device_type = 1
  199.   Case 350
  200.    device_type = 2
  201.   Case 348
  202.    device_type = 3
  203.    Case 200
  204.   device_type = 4
  205.  
  206.   Case Else
  207.  
  208.        msg$ = "Unknown display device - can't execute"
  209.        MsgBox msg$, 16, "NewStart 1.04"
  210.        Exit Sub
  211.  
  212.  
  213.   End Select
  214.  
  215.   windir$ = LTrim$(RTrim$(windir$))
  216.   sysdir$ = LTrim$(RTrim$(sysdir$))
  217.   windir$ = Left$(windir$, Len(windir$) - 1)
  218.   sysdir$ = Left$(sysdir$, Len(sysdir$) - 1)
  219.  
  220.    If file1.filename <> "" Then
  221.    
  222.  
  223.   rlepos% = InStr(file1.filename, ".rle")
  224.  
  225.   
  226.   If rlepos% > 0 Then
  227.  
  228.     ChDrive form1.drive1.Drive
  229.     ChDir form1.file1.path
  230.  
  231.    If option2.value Then
  232.   
  233.     form2.Show modal
  234.    
  235.     Else
  236.  
  237.        msg$ = "Change RLE Startup File ?"
  238.       resp% = MsgBox(msg$, 4, "NewStart 1.04")
  239.       
  240.    If resp% = 6 Then
  241.    screen.mousepointer = 11
  242.  
  243.    newfile% = 2
  244.    oldfile% = 1
  245.        
  246.        
  247.     winfile$ = windir$ + "\WIN.COM"
  248.     winbak$ = windir$ + "\WINBAK.COM"
  249.     rlefile$ = file1.filename
  250.     cnffile$ = sysdir$ + "\WIN.CNF"
  251.  
  252.  
  253.  
  254.  
  255.  
  256.    Select Case device_type
  257.    Case 1
  258.      logofile$ = sysdir$ + "\VGALOGO.lgo"
  259.    Case 2
  260.      logofile$ = sysdir$ + "\EGALOGO.lgo"
  261.    Case 3
  262.        logofile$ = sysdir$ + "\HERCLOGO.lgo"
  263.    Case 4
  264.     logofile$ = sysdir$ + "\CGALOGO.lgo"
  265.   End Select
  266.  
  267.     filecheck$ = Dir$(winfile$)
  268.     If filecheck$ = "" Then
  269.      msg$ = winfile$ + " not found"
  270.      screen.mousepointer = 0
  271.      MsgBox msg$
  272.      Exit Sub
  273.     End If
  274.  
  275.     filecheck$ = Dir$(cnffile$)
  276.     If filecheck$ = "" Then
  277.      msg$ = cnffile$ + " not found"
  278.      screen.mousepointer = 0
  279.      MsgBox msg$
  280.      Exit Sub
  281.     End If
  282.  
  283.     filecheck$ = Dir$(logofile$)
  284.     If filecheck$ = "" Then
  285.      msg$ = logofile$ + " not found"
  286.      screen.mousepointer = 0
  287.      MsgBox msg$
  288.      Exit Sub
  289.     End If
  290.       
  291.  
  292.        Open rlefile$ For Binary As oldfile%
  293.        rlelen& = LOF(oldfile%)
  294.        Close oldfile%
  295.       
  296.       If rlelen& > 63000 Then
  297.        screen.mousepointer = 0
  298.        msg$ = "RLE File too large"
  299.        MsgBox msg$, 16, "NewStart 1.04"
  300.        
  301.        Exit Sub
  302.       End If
  303.      
  304. source$ = winfile$
  305. Open source$ For Binary As #1
  306. whole = LOF(1) \ 32000
  307. part = LOF(1) Mod 32000
  308. buffer$ = String$(32000, 0)
  309. start& = 1
  310. filename$ = winbak$
  311. Open filename$ For Binary As #2
  312. For x = 1 To whole
  313.        Get #1, start&, buffer$
  314.        Put #2, start&, buffer$
  315.        start& = start& + 32000
  316. Next x
  317. buffer$ = String$(part, 0)
  318. Get #1, start&, buffer$
  319. Put #2, start&, buffer$
  320. Close
  321.    
  322.    
  323.       Open winfile$ For Binary As oldfile%
  324.       Open cnffile$ For Binary As newfile%
  325.        
  326.       lenfile& = LOF(newfile%)
  327.       buffer$ = String$(lenfile&, " ")
  328.  
  329.  
  330.       Get newfile%, , buffer$
  331.       Put oldfile%, , buffer$
  332.       
  333.       Close newfile%
  334.      
  335.